CKA 후기

#CKA

CKA_sung.png

1. 많은 분들이 궁금해 하실만한 것들

(*개인적인 견해입니다. 참고만 부탁드려요!)

1-1. CKA를 볼까요 CKAD를 볼까요?

CKA는 Administrator이고 CKAD는 Application Developer를 위한 시험이라고 되어있습니다. 옵스하시는 분들은 CKA, 개발자 분들은 CKAD가 적절하다고 권장하고 있는 것 같아요. 실제로 시험 내용의 비중도 CKA는 클러스터를 구축하고 서비스를 원활하게 제공하는 부분에 포커스를 두고, CKAD는 파드와 노드를 사용목적에 맞게 개발하고 이것들을 버저닝해서 관리할 수 있도록 하는 부분에 초점이 맞춰집니다. 예를들어 CKA는 클러스터 구축, 볼륨 생성, 스케쥴링을 중요시한다면 CKAD는 컨테이너 이미지 빌드, 볼륨 활용, 애플리케이션 외부 연결등을 중요시한다고 보여져요.

제가 CKA를 한 이유는 쿠버네티스의 전반적인 이해가 자격증 공부의 목적이였기 때문에 조금 더 전방위적인 내용을 다루는 CKA를 공부했습니다. 많은 분들이 CKA와 CKAD를 모두 취득하시는 것으로 봐서는 하나를 공부한 이후에 다른 하나에 도전하시는 것도 좋을 것 같네요!


1-2. 학습방법

유데미의 뭄샤드 선생님의 모든 강의를 듣고, 연습문제를 풀고, killer.sh도 풀어봤습니다.만. 모든 강의를 듣는것은 크게 의미가 없었습니다. 내용 정리만 해놓는 것도 의미가 거의 없었습니다. 내용 정리 빠르게 하고 그걸 써먹어보면서 습관이 될 정도로 익히는게 중요해요. 그리고 쿠버네티스 공식문서는 자주 들어가서 익숙해지시는게 좋아요. (이것을 습관들여놓으면 다른 플랫폼이나 툴을 이용할 때에도 공식문서를 참고해서 올바른 솔루션으로 문제를 해결할 수 있게 됩니다.)


1-3. 시험

스터디카페에서 방을 하나 빌려 시험을 봤습니다. 노트북을 들고 구석구석 보여줘야 합니다. 감독관분들은 멀미에 강하셔야할 것 같아요. 방 밖에는 차분한 노래가 나오고 있고 사람들의 소리가 조금은 들려서 괜히 불안했는데 그런 것으로는 주의를 주시지 않더라고요. 다행이였습니다. 그런데 너무 집중해서 화면을 보느라 카메라에 제 이마만 보이게 되었더니 바로 얼굴 모두를 보이게 하라는 경고를 주셨습니다.

노트북만 들고가서 화면이 많이 작았어요. 브라우저가 좀 많이 느려서 검색하는데도 한계가 있었습니다. killer.sh를 풀면서 이런 환경들을 예측할 수 있어서 왠만한 명령어와 명령어를 위한 명령어는 외웠습니다. 크게 어려운 문제는 없었으나 볼륨 바인딩 쪽에서 설정을 한번 잘못하는 바람에 클러스터 자체가 살짝 꼬여버려서 애를 먹었습니다. 여러 단계를 거쳐야 하는 문제라면 주의가 필요할 것 같아요.


1-4. 결과

최선을 다했다면 자신을 믿으세요. 스스로 생각한 것 보다 잘 봤을 겁니다.



2. 개인 후기

2-1. 기술부채 청산의 필요성 체감

쿠버네티스는 나의 기술부채중에 꽤 큰 부분을 차지하고있었다. 실무에서 다뤘던 것은 도커와 도커 컴포즈까지였고 데브옵스가 메인포지션이 아니다보니 멀직이서 헬름을 세팅하는 선배님의 뒷모습을 지켜봐야했다.


2-2. 기초를 위한 자격증

꽤 오래 전부터 스펙으로서의 자격증은 큰 매력을 잃은 것 같다. 그래서 자격증을 공부한다고 하면 주변에서는 의아해한다. 하지만 나에게 있어 자격증을 딴다는 것은 기초에 대한 기준을 잡는다는 것이다.
자격증은 이것을 서비스하고 있는 단체에서 만든 시험이고, 그렇기 때문에 꼭 알아야 하는 내용들을 시험범위에 넣는다는 것을 몇몇 자격증을 취득하면서 느끼게 되었다. 적어도 이들이 의도하는 공부를 하고 준비를 한다면 이 기술을 사용할 때 내가 마주하고 있는 장애물이 무엇인지 파악이라도 할 수 있고, 도큐먼트의 어떤 부분을 살펴봐야 하는지를 알게된다는 것이다.


2-3. 엔지니어의 학습 덕목

CKA는 AWS-DVA나 SQLD와 같은 시험과는 매우 달랐다.
CKA는 실기시험이다. AWS나 SQLD를 공부했을 때의 자세로 공부했다가는 준비기간이 무한정 늘어날 수 있다. 내가 그러했고 실제로 CKA 공부를 하면서 나의 '공부'스타일이 완전히 달라지게 되었다.

실무에서는 해결해야 했고 닥친 문제를 일단 풀어내야했기 때문에 체득이 되어 왔지만, 막상 업무 관련 공부를 한다고 생각하면 책상에 앉아서 유튜브를 보고 코드를 따라쳐보고 원리를 검색하고 정리하고 암기하는 등등의 일을 여전히 한국적인 공부자세로 했었다. 외우고 백지복습. 누적복습. 이것의 한계는 분명하다. 직접 타이핑하지 않고 문제를 마주하지 않고서는 개념은 개념이된다. 진도도 잘 나가지지 않고 암기는 하는데 챕터 간에 연결이 잘 되지도 않는 것 같아 몇일간의 슬럼프가 오기도 했고 흥미도 많이 떨어졌었다.

그동안의 모든 습관을 버리고 공부 방법을 완전히 바꿔버렸다. 강의를 들을 때는 강의 내용을 따라가며 그것에 대해 생각하고 이전 내용을 연결하는 작업을 머릿속으로 끊임없이 한다. 한 강의를 다 듣고 나면 키워드를 뽑는다. 키워드의 내용을 문서로 정리한다. 연습문제를 푼다. 연습문제에서 학습한 내용을 추가적으로 정리한다. 였다. 이 이후부터는 개념을 외우지 않았다. 전에 강의를 들었던 내용, 모바일 개발하면서 프론트를 개발하면서 비슷한 필요성을 느꼈던 것들을 모두 연결해버리니 자연스럽게 이해가 되었다. 명령어를 수없이 쳐보니 좋지 않은 암기력에도 이것만은 자동적으로 할 수 있게 되었다.

흥미가 있어서 시작했는데 진부하고 고루해진 느낌이 든다면 그 공부는 어딘가 잘못되어가고 있는 공부라고 생각한다. 전략적으로 현실에 적용할 수 있게 나에게 탑재하는 공부를 하는 것이 공학의 의미에 부합하지 않을까?


2-4. 네트워크를 정리할 수 있는 좋은 기회

컨테이너 기술, 오케스트레이션 이외에도 CKA를 공부하면서 네트워킹에 대해 전반적으로 기술부채를 청산하게 되었다! CCNA를 살짝 공부했을 때 이후로 네트워크에 대해 남겨두었던 부채들을 이 참에 싹 정리했다. 이것은 컨테이너 네트워킹에서부터 시작했는데, 이것을 기점으로 cgroup, namespace, subnet masking, iptables, nat, routing, bridge, ssh 까지 해결했다. 파편적으로 알고 있던 것들을 한데 모으고 이어 붙였다. 어디에 던져져도 조금은 더 근본있는 자신감으로 성장할 수 있을 것 같다는 안정감까지 얻게된 것 같다.